package dao;

import java.io.Serializable;
import java.util.List;
import java.util.Map;

public interface GenericDAO<T> {
	public long countAll(final Map params);
	public T get(Serializable id);
	public List<T> find(final String queryStr, final Object[] params,
			final int begin, final int max);
	public void remove(Serializable id);
	public void save(T instance);
	public T getBy(final String propertyName, final Object value);
	public void update(T instance);
	public List executeNativeNamedQuery(final String nnq);
}
